package com.ssy.lingxi.report.api.fallback;

import com.ssy.lingxi.common.response.ResponseCode;
import com.ssy.lingxi.common.response.Wrapper;
import com.ssy.lingxi.report.api.feign.ReportControllerFeign;
import com.ssy.lingxi.report.api.vo.request.*;
import com.ssy.lingxi.report.api.vo.response.ActiveMerchantVO;
import com.ssy.lingxi.report.api.vo.response.PopularShopVO;
import com.ssy.lingxi.report.api.vo.response.PurchasePortalStatisticsVO;
import org.springframework.stereotype.Component;
import org.springframework.web.bind.annotation.RequestBody;

import javax.validation.Valid;
import java.util.List;

@Component
public class ReportControllerFeignFallBack implements ReportControllerFeign {

    /**
     * 批量新增操作通知
     * @author 伍将
     * @date 2020/12/16
     **/
    @Override
    public Wrapper<Void> addOperateNoticeList(@Valid List<OperateNoticeVO> operateVOList) {
        return Wrapper.fail(ResponseCode.FEIGN_SERVICE_ERROR);
    }

    /**
     * 新增操作通知
     * @author 伍将
     * @date 2020/12/16
     **/
    @Override
    public Wrapper<Void> addOperateNotice(@Valid OperateNoticeVO operateVO) {
        return Wrapper.fail(ResponseCode.FEIGN_SERVICE_ERROR);
    }

    /**
     * 新增每日订单
     * @author 伍将
     * @date 2020/12/16
     **/
    @Override
    public Wrapper<Void> addOrder(@Valid AddOrderVO addOrderVO) {
        return Wrapper.fail(ResponseCode.FEIGN_SERVICE_ERROR);
    }

    /**
     * 批量新增每日订单
     * @author 伍将
     * @date 2021/2/4
     * @param addOrderVO: 新增订单参数
     * @return 操作结果
     **/
    @Override
    public Wrapper<Void> addOrderList(@RequestBody @Valid List<AddOrderVO> addOrderVO) {
        return Wrapper.fail(ResponseCode.FEIGN_SERVICE_ERROR);
    }

    /**
     * 获取人气店铺Id
     * @param request：请求参数
     * @return
     */
    @Override
    public Wrapper<List<Long>> getPopularShopIdList(@Valid PopularShopRequest request) {
        return Wrapper.fail(ResponseCode.FEIGN_SERVICE_ERROR);
    }
    /**
     * 获取人气店铺信息
     * @param request：请求参数
     * @return  兜底结果
     */
    @Override
    public Wrapper<List<PopularShopVO>> getPopularShopList(PopularShopRequest request) {
        return Wrapper.fail(ResponseCode.FEIGN_SERVICE_ERROR);
    }

    /**
     * 获取活跃采购商户
     * @return
     */
    @Override
    public Wrapper<List<ActiveMerchantVO>> getActiveMerchantList() {
        return Wrapper.fail(ResponseCode.FEIGN_SERVICE_ERROR);
    }

    /**
     * 获得采购门户-采购信息统计
     * @param request：请求参数
     * @return
     */
    @Override
    public Wrapper<PurchasePortalStatisticsVO> getPurchasePortalStatisticsInfo(@Valid PurchasePortalRequest request) {
        return Wrapper.fail(ResponseCode.FEIGN_SERVICE_ERROR);
    }

    /**
     * 获得采购门户-采购信息统计列表
     * @param requestList：请求参数
     * @return
     */
    @Override
    public Wrapper<List<PurchasePortalStatisticsVO>> getPurchasePortalStatisticsInfoList(@Valid List<PurchasePortalRequest> requestList) {
        return Wrapper.fail(ResponseCode.FEIGN_SERVICE_ERROR);
    }

    /**
     * 新增下级会员申请
     * @param addOrderVO 新增订单参数
     * @return
     */
    @Override
    public Wrapper<Void> addSubMember(@Valid AddSubMemberVO addOrderVO) {
        return Wrapper.fail(ResponseCode.FEIGN_SERVICE_ERROR);
    }
}
